<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Assimp: aiLight Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Assimp
   &#160;<span id="projectnumber">v3.0 (July 2012)</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="structai_light.html#pub-methods">Public Member Functions</a> &#124;
<a href="structai_light.html#pub-attribs">Public Attributes</a>  </div>
  <div class="headertitle">
<div class="title">aiLight Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Helper structure to describe a light source.  
 <a href="structai_light.html#details">More...</a></p>

<p><a href="structai_light-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aea2f8a74de53f90df47229cde9511b07"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structai_light.html#aea2f8a74de53f90df47229cde9511b07">aiLight</a> ()</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:abad0466811938623e98bf1d334143f9a"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structai_light.html#abad0466811938623e98bf1d334143f9a">mAngleInnerCone</a></td></tr>
<tr class="memdesc:abad0466811938623e98bf1d334143f9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inner angle of a spot light's light cone.  <a href="structai_light.html#abad0466811938623e98bf1d334143f9a"></a><br/></td></tr>
<tr class="memitem:a20fd332a5f9d8e8cb94816ff2b0ae7f4"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structai_light.html#a20fd332a5f9d8e8cb94816ff2b0ae7f4">mAngleOuterCone</a></td></tr>
<tr class="memdesc:a20fd332a5f9d8e8cb94816ff2b0ae7f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Outer angle of a spot light's light cone.  <a href="structai_light.html#a20fd332a5f9d8e8cb94816ff2b0ae7f4"></a><br/></td></tr>
<tr class="memitem:ae8804b3c309527ca0f85d676bab55710"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structai_light.html#ae8804b3c309527ca0f85d676bab55710">mAttenuationConstant</a></td></tr>
<tr class="memdesc:ae8804b3c309527ca0f85d676bab55710"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constant light attenuation factor.  <a href="structai_light.html#ae8804b3c309527ca0f85d676bab55710"></a><br/></td></tr>
<tr class="memitem:aefda311eaa785ea345782dfa95be817c"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structai_light.html#aefda311eaa785ea345782dfa95be817c">mAttenuationLinear</a></td></tr>
<tr class="memdesc:aefda311eaa785ea345782dfa95be817c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Linear light attenuation factor.  <a href="structai_light.html#aefda311eaa785ea345782dfa95be817c"></a><br/></td></tr>
<tr class="memitem:ab4fb07bfa40a807661b1ed1791838a6d"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structai_light.html#ab4fb07bfa40a807661b1ed1791838a6d">mAttenuationQuadratic</a></td></tr>
<tr class="memdesc:ab4fb07bfa40a807661b1ed1791838a6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Quadratic light attenuation factor.  <a href="structai_light.html#ab4fb07bfa40a807661b1ed1791838a6d"></a><br/></td></tr>
<tr class="memitem:acea93fe8d569272b535f2339dc311899"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structai_color3_d.html">aiColor3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structai_light.html#acea93fe8d569272b535f2339dc311899">mColorAmbient</a></td></tr>
<tr class="memdesc:acea93fe8d569272b535f2339dc311899"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ambient color of the light source.  <a href="structai_light.html#acea93fe8d569272b535f2339dc311899"></a><br/></td></tr>
<tr class="memitem:ae3a19c81fbf938990430a270a88586a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structai_color3_d.html">aiColor3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structai_light.html#ae3a19c81fbf938990430a270a88586a3">mColorDiffuse</a></td></tr>
<tr class="memdesc:ae3a19c81fbf938990430a270a88586a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Diffuse color of the light source.  <a href="structai_light.html#ae3a19c81fbf938990430a270a88586a3"></a><br/></td></tr>
<tr class="memitem:a96bfda3f65c5240f76e0c4c09b629a33"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structai_color3_d.html">aiColor3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structai_light.html#a96bfda3f65c5240f76e0c4c09b629a33">mColorSpecular</a></td></tr>
<tr class="memdesc:a96bfda3f65c5240f76e0c4c09b629a33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specular color of the light source.  <a href="structai_light.html#a96bfda3f65c5240f76e0c4c09b629a33"></a><br/></td></tr>
<tr class="memitem:a575806a5d36f5acaebd31b8968e1bd6c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vector3_8h.html#a47f446977120a9ca7d868353aad70b09">aiVector3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structai_light.html#a575806a5d36f5acaebd31b8968e1bd6c">mDirection</a></td></tr>
<tr class="memdesc:a575806a5d36f5acaebd31b8968e1bd6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direction of the light source in space.  <a href="structai_light.html#a575806a5d36f5acaebd31b8968e1bd6c"></a><br/></td></tr>
<tr class="memitem:aa149c2f701558cceebabc63380b6b909"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structai_string.html">aiString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structai_light.html#aa149c2f701558cceebabc63380b6b909">mName</a></td></tr>
<tr class="memdesc:aa149c2f701558cceebabc63380b6b909"><td class="mdescLeft">&#160;</td><td class="mdescRight">The name of the light source.  <a href="structai_light.html#aa149c2f701558cceebabc63380b6b909"></a><br/></td></tr>
<tr class="memitem:a8266be9793e6cd45b3dfe9f20646cba1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vector3_8h.html#a47f446977120a9ca7d868353aad70b09">aiVector3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structai_light.html#a8266be9793e6cd45b3dfe9f20646cba1">mPosition</a></td></tr>
<tr class="memdesc:a8266be9793e6cd45b3dfe9f20646cba1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Position of the light source in space.  <a href="structai_light.html#a8266be9793e6cd45b3dfe9f20646cba1"></a><br/></td></tr>
<tr class="memitem:ac89b517190c48fa4d78c70d86f6ec8d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="light_8h.html#a7a75cb224d903e71e8daede432449766">aiLightSourceType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structai_light.html#ac89b517190c48fa4d78c70d86f6ec8d5">mType</a></td></tr>
<tr class="memdesc:ac89b517190c48fa4d78c70d86f6ec8d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of the light source.  <a href="structai_light.html#ac89b517190c48fa4d78c70d86f6ec8d5"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Helper structure to describe a light source. </p>
<p><a class="el" href="namespace_assimp.html" title="Assimp&#39;s CPP-API and all internal APIs.">Assimp</a> supports multiple sorts of light sources, including directional, point and spot lights. All of them are defined with just a single structure and distinguished by their parameters. Note - some file formats (such as 3DS, ASE) export a "target point" - the point a spot light is looking at (it can even be animated). <a class="el" href="namespace_assimp.html" title="Assimp&#39;s CPP-API and all internal APIs.">Assimp</a> writes the target point as a subnode of a spotlights's main node, called "&lt;spotName&gt;.Target". However, this is just additional information then, the transformation tracks of the main node make the spot light already point in the right direction. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aea2f8a74de53f90df47229cde9511b07"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">aiLight::aiLight </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="abad0466811938623e98bf1d334143f9a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float aiLight::mAngleInnerCone</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Inner angle of a spot light's light cone. </p>
<p>The spot light has maximum influence on objects inside this angle. The angle is given in radians. It is 2PI for point lights and undefined for directional lights. </p>

</div>
</div>
<a class="anchor" id="a20fd332a5f9d8e8cb94816ff2b0ae7f4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float aiLight::mAngleOuterCone</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Outer angle of a spot light's light cone. </p>
<p>The spot light does not affect objects outside this angle. The angle is given in radians. It is 2PI for point lights and undefined for directional lights. The outer angle must be greater than or equal to the inner angle. It is assumed that the application uses a smooth interpolation between the inner and the outer cone of the spot light. </p>

</div>
</div>
<a class="anchor" id="ae8804b3c309527ca0f85d676bab55710"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float aiLight::mAttenuationConstant</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constant light attenuation factor. </p>
<p>The intensity of the light source at a given distance 'd' from the light's position is </p>
<div class="fragment"><div class="line">            Atten = 1/( att0 + att1 * d + att2 * d*d)</div>
</div><!-- fragment --><p> This member corresponds to the att0 variable in the equation. Naturally undefined for directional lights. </p>

</div>
</div>
<a class="anchor" id="aefda311eaa785ea345782dfa95be817c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float aiLight::mAttenuationLinear</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Linear light attenuation factor. </p>
<p>The intensity of the light source at a given distance 'd' from the light's position is </p>
<div class="fragment"><div class="line">            Atten = 1/( att0 + att1 * d + att2 * d*d)</div>
</div><!-- fragment --><p> This member corresponds to the att1 variable in the equation. Naturally undefined for directional lights. </p>

</div>
</div>
<a class="anchor" id="ab4fb07bfa40a807661b1ed1791838a6d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float aiLight::mAttenuationQuadratic</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Quadratic light attenuation factor. </p>
<p>The intensity of the light source at a given distance 'd' from the light's position is </p>
<div class="fragment"><div class="line">            Atten = 1/( att0 + att1 * d + att2 * d*d)</div>
</div><!-- fragment --><p> This member corresponds to the att2 variable in the equation. Naturally undefined for directional lights. </p>

</div>
</div>
<a class="anchor" id="acea93fe8d569272b535f2339dc311899"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structai_color3_d.html">aiColor3D</a> aiLight::mColorAmbient</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Ambient color of the light source. </p>
<p>The ambient light color is multiplied with the ambient material color to obtain the final color that contributes to the ambient shading term. Most renderers will ignore this value it, is just a remaining of the fixed-function pipeline that is still supported by quite many file formats. </p>

</div>
</div>
<a class="anchor" id="ae3a19c81fbf938990430a270a88586a3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structai_color3_d.html">aiColor3D</a> aiLight::mColorDiffuse</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Diffuse color of the light source. </p>
<p>The diffuse light color is multiplied with the diffuse material color to obtain the final color that contributes to the diffuse shading term. </p>

</div>
</div>
<a class="anchor" id="a96bfda3f65c5240f76e0c4c09b629a33"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structai_color3_d.html">aiColor3D</a> aiLight::mColorSpecular</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Specular color of the light source. </p>
<p>The specular light color is multiplied with the specular material color to obtain the final color that contributes to the specular shading term. </p>

</div>
</div>
<a class="anchor" id="a575806a5d36f5acaebd31b8968e1bd6c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="vector3_8h.html#a47f446977120a9ca7d868353aad70b09">aiVector3D</a> aiLight::mDirection</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Direction of the light source in space. </p>
<p>Relative to the transformation of the node corresponding to the light.</p>
<p>The direction is undefined for point lights. The vector may be normalized, but it needn't. </p>

</div>
</div>
<a class="anchor" id="aa149c2f701558cceebabc63380b6b909"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structai_string.html">aiString</a> aiLight::mName</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The name of the light source. </p>
<p>There must be a node in the scenegraph with the same name. This node specifies the position of the light in the scene hierarchy and can be animated. </p>

</div>
</div>
<a class="anchor" id="a8266be9793e6cd45b3dfe9f20646cba1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="vector3_8h.html#a47f446977120a9ca7d868353aad70b09">aiVector3D</a> aiLight::mPosition</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Position of the light source in space. </p>
<p>Relative to the transformation of the node corresponding to the light.</p>
<p>The position is undefined for directional lights. </p>

</div>
</div>
<a class="anchor" id="ac89b517190c48fa4d78c70d86f6ec8d5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="light_8h.html#a7a75cb224d903e71e8daede432449766">aiLightSourceType</a> aiLight::mType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The type of the light source. </p>
<p>aiLightSource_UNDEFINED is not a valid value for this member. </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="light_8h.html">light.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Jul 10 2012 17:55:53 for Assimp by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.1.1
</small></address>
</body>
</html>
